import { z } from 'zod';

const envSchema = z.object({
  NODE_ENV: z.enum(['development', 'production', 'test']).default('development'),
  PORT: z.coerce.number().default(3000),
  DATABASE_URL: z.string().url(),
  JWT_SECRET: z.string().min(32).default('daily-menu-secret-key-change-in-production'),
});

type Env = z.infer<typeof envSchema>;

// 根据环境加载不同的配置文件
const envFile = process.env.NODE_ENV === 'production' ? '.env.production' : '.env.development';

// 在实际项目中，这里可以使用dotenv来加载环境变量
// 为了简化，我们直接使用process.env

const env = envSchema.parse({
  NODE_ENV: process.env.NODE_ENV,
  PORT: process.env.PORT,
  DATABASE_URL: process.env.DATABASE_URL,
  JWT_SECRET: process.env.JWT_SECRET,
});

export default env;